package com.zhuangjie.shop.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhuangjie.shop.dto.DishCategorySaveDTO;
import com.zhuangjie.shop.dto.ShopCategoryPageDTO;
import com.zhuangjie.shop.entity.DishCategory;

import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutionException;

/**
 * <p>
 * 商品分类 服务类
 * </p>
 *
 * @author zhuangjie
 * @since 2023-09-24
 */
public interface DishCategoryService extends IService<DishCategory> {

    Page<DishCategory> queryShopCategoryListPage(ShopCategoryPageDTO pageInput, Long shopId) throws Exception;

    Boolean removeShopDishCategoryById(Long dishCategoryId);

    DishCategory getShopDishCategoryById(Long dishCategoryId);

    Boolean saveDishCategory(DishCategorySaveDTO dishCategorySaveDTO);

    List<DishCategory> listShopDishCategory(Long shopId) throws Exception;

    List<DishCategory> getShopDishCategory(Long shopId,Boolean isSelectDishFlavor) throws InterruptedException, ExecutionException;

    Map<Long, String> queryDishCategoryNameByIds(List<Long> dishCategoryIdList);
}
